/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.com.sysaut.seguridad.domain;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author ytorres
 */
@Entity
@Table(name = "tpersona")
public class Tpersona implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "num_dni")
    private String numDni;
    @Basic(optional = false)
    @Column(name = "nom_persona")
    private String nomPersona;
    @Basic(optional = false)
    @Column(name = "ape_paterno")
    private String apePaterno;
    @Basic(optional = false)
    @Column(name = "ape_materno")
    private String apeMaterno;
    @Basic(optional = false)
    @Column(name = "fec_nacimiento")
    @Temporal(TemporalType.DATE)
    private Date fecNacimiento;
    @Column(name = "dir_correo")
    private String dirCorreo;
    @Column(name = "num_telefono")
    private String numTelefono;
//    @OneToMany(cascade = CascadeType.ALL, mappedBy = "tpersona")
//    private List<Tusuario> tusuarioList;

    public Tpersona() {
    }

    public Tpersona(String numDni) {
        this.numDni = numDni;
    }

    public Tpersona(String numDni, String nomPersona, String apePaterno, String apeMaterno, Date fecNacimiento) {
        this.numDni = numDni;
        this.nomPersona = nomPersona;
        this.apePaterno = apePaterno;
        this.apeMaterno = apeMaterno;
        this.fecNacimiento = fecNacimiento;
    }

    public String getNumDni() {
        return numDni;
    }

    public void setNumDni(String numDni) {
        this.numDni = numDni;
    }

    public String getNomPersona() {
        return nomPersona;
    }

    public void setNomPersona(String nomPersona) {
        this.nomPersona = nomPersona;
    }

    public String getApePaterno() {
        return apePaterno;
    }

    public void setApePaterno(String apePaterno) {
        this.apePaterno = apePaterno;
    }

    public String getApeMaterno() {
        return apeMaterno;
    }

    public void setApeMaterno(String apeMaterno) {
        this.apeMaterno = apeMaterno;
    }

    public Date getFecNacimiento() {
        return fecNacimiento;
    }

    public void setFecNacimiento(Date fecNacimiento) {
        this.fecNacimiento = fecNacimiento;
    }

    public String getDirCorreo() {
        return dirCorreo;
    }

    public void setDirCorreo(String dirCorreo) {
        this.dirCorreo = dirCorreo;
    }

    public String getNumTelefono() {
        return numTelefono;
    }

    public void setNumTelefono(String numTelefono) {
        this.numTelefono = numTelefono;
    }

//    @XmlTransient
//    public List<Tusuario> getTusuarioList() {
//        return tusuarioList;
//    }
//
//    public void setTusuarioList(List<Tusuario> tusuarioList) {
//        this.tusuarioList = tusuarioList;
//    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numDni != null ? numDni.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Tpersona)) {
            return false;
        }
        Tpersona other = (Tpersona) object;
        if ((this.numDni == null && other.numDni != null) || (this.numDni != null && !this.numDni.equals(other.numDni))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "appdomain.Tpersona[ numDni=" + numDni + " ]";
    }
    
}
